約 2,203,287 件
https://w.atwiki.jp/aopbookpgt/pages/32.html
Copyright © 2009 aopbookpgt@wiki All Rights Reserved
https://w.atwiki.jp/0x0b/pages/95.html
mozilla JavaScriptの続き 式(Expressions)演算子(Operators) 代入演算子(Assignment Operators) 比較演算子(Comparison Operators) 算術演算子(Arithmetic Operators) ビット演算子(Bitwise Operators) 論理演算子(Logical Operators) 文字列演算子(String Operators) 特殊演算子(Special Operators) 式(Expressions) リテラル、変数、演算子、そして単一の値に評価する式からなる有効なセットです この値には数値、文字列、論理値が使用できます 概念的に、式は 2 つの種類 ある値を変数に代入するものと、単純にある値を持つもの 例えば、x = 7 という式は x に 7 という値を代入する式です。この式自体の評価結果は 7 です。このような式では代入演算子を用います。一方、3 + 4 という式では単純に評価結果が 7 になります。この式は代入を行いません。このような式で用いられる演算子は単に演算子と呼ばれます。 JavaScript には以下の種類の式があります。 算術式:数値に評価する。例えば 3.14159。(一般に 算術演算子 を使用) 文字列式:文字列に評価する。例えば "Fred" や "234"。(一般に 文字列演算子 を使用) 論理式:true または false に評価する。(よく 論理演算子 を用いる) オブジェクト式:オブジェクトに評価する。(オブジェクトに評価するさまざまな例については 特殊演算子 を参照) 演算子(Operators) JavaScript は以下の種類の演算子を使うことができます。このセクションでは演算子について説明します。また、演算子の優先順位にも触れます。 代入演算子 比較演算子 算術演算子 ビット演算子 論理演算子 文字列演算子 特殊演算子 JavaScript には単項演算子も 2 項演算子もあります。さらには唯一の特殊な 3 項演算子である条件演算子があります。2 項演算子では、演算子の前後に 1 つずつ、計 2 つのオペランドが必要です。 operand1 operator operand2 例えば 3+4 や x*y。 単項演算子では、演算子の前か後ろどちらかに 1 つのオペランドが必要です。 operator operand または operand operator 例えば x++ や ++x。 演算子の優先順位 演算子の優先順位が高い順 |は| 演算子の種類 個々の演算子 メンバ . [] インスタンスの呼び出し/作成 () new 否定/インクリメント ! ~ - + ++ -- typeof void delete 乗算/除算 * / % 加算/減算 + - ビットシフト 関係 = = in instanceof 等価 == != === !== ビットごとのand ビットごとのxor ^ ビットごとの or | 論理積 論理和 || 条件 ? 代入 = += -= *= /= %= = = = = ^= |= コンマ , 代入演算子(Assignment Operators) 代入演算子は、右のオペランドの値に基づいた値を左のオペランドに代入します。基本的な代入演算子はイコール (=) ですが、これは右のオペランドの値を左のオペランドに代入します。すなわち、x = y では y の値を x に代入します。 他の代入演算子は標準的な演算をするための短縮表記があります。次の表でそれを示します。 短縮表記した演算子意味 x += y x = x + y x -= y x = x - y x *= y x = x * y x /= y x = x / y x %= y x = x % y x = y x = x y x = y x = x y x = y x = x y x = y x = x y x ^= y x = x ^ y x |= y x = x|y 比較演算子(Comparison Operators) 比較演算子は、オペランドを比較し、比較結果に基づいた論理値を返します。オペランドには数値、文字列、論理値、オブジェクトが使用できます。文字列は、Unicode 値を用いて標準的な辞書順に基づいて比較されます。ほとんどの場合、2 つのオペランドが異なる型ならば JavaScript はそのオペランドを比較に適した型に変換しようとします(このルールの唯一の例外は === および !== であり、これらは厳密に等値か否かを判断し、等値性をチェックする前にオペランドを適合する型に変換するということはありません)。これは一般に数値の比較が実行されることになります。次の表では比較演算子について説明します。次のコードで考えます。 var var1 = 3, var2 = 4; 演算子 説明 true を返す例 等しい (==) オペランドが等しい場合に true を返す 3 == var1"3" == var13 == 3 等しくない (!=) オペランドが等しくない場合に true を返す var1 != 4var2 != "3" 厳密に等しい (===) オペランドが等しく、かつ同じ型である場合に true を返す 3 === var1 厳密には等しくない (!==) オペランドが等しくなく、かつ/または同じ型でない場合に true を返す var1 !== "3"3 !== 3 より大きい ( ) 左のオペランドが右のオペランドよりも大きい場合に true を返す var2 var1"12" 2 以上 ( =) 左のオペランドが右のオペランド以上である場合に true を返す var2 = var1var1 = 3 より小さい ( ) 左のオペランドが右のオペランドよりも小さい場合に true を返す var1 var2"12" "2" 以下 ( =)|左のオペランドが右のオペランド以下である場合に true を返す|var1 = var2var2 = 5| 算術演算子(Arithmetic Operators) 算術演算子は、そのオペランドに数値(リテラルか変数)をとり、1 つの数値を返します。標準的な算術演算子は、加算 (+)、減算 (-)、乗算 (*)、除算 (/) です。これらの演算子は他のほとんどのプログラミング言語と同じように機能しますが、そのときの数値は、浮動小数点数として扱われます(0 で除算した結果は、NaN になることにも注意してください)。 1 / 2 // JavaScript では 0.5 を返す 1 / 2 // Java では 0 を返す(どちらの数も浮動小数点数として明記されていない) 1.0 / 2.0 // JavaScript でも Java でも 0.5 を返す さらに、JavaScript では以下の表で示された算術演算子も使用できます。 演算子 説明 例 %(モジュロ) 2 項演算子。2 つのオペランドで除算したときの整数の余りを返す 12 % 5 は 2 を返す。 ++(インクリメント) 単項演算子。オペランドに 1 を加える。前置演算子 (++x) を使った場合、オペランドに 1 を加えた後にその値を返す。後置演算子 (x++) を使った場合、オペランドに 1 を加える前にその値を返す。 x が 3 のとき、++x は x に 4 をセットし、4 を返す。一方、x++ は x に 4 をセットし、3 を返す。 --(デクリメント) 単項演算子。オペランドから 1 を引く。戻り値はインクリメント演算子のものと同様。 x が 3 のとき、--x は x に 2 をセットし、2 を返す。一方、x-- は x に 2 をセットし、3 を返す。 -(符号反転) 単項演算子。オペランドの符号を反転してその値を返す x が 3 のとき、-x は -3 を返す ビット演算子(Bitwise Operators) ビット演算子ではそのオペランドを 10 進数や 16 進数や 8 進数ではなく、32 ビットの集合(0 と 1)として扱います。例えば、10 進数の 9 の 2 進表現は 1001 です。ビット演算子はこのように 2 進表現にした上で演算を行いますが、標準の JavaScript の数値を返します。 次の表で JavaScript のビット演算子について説明します。 演算子 使用法 説明 ビットごとの AND a b オペランドの対応するビットがともに 1 である各ビットについて 1 を返す ビットごとの OR a|b オペランドの対応するビットがどちらかまたはともに 1 である各ビットについて 1 を返す ビットごとの XOR a ^ b オペランドの対応するビットがどちらか一方のみ 1 である各ビットについて 1 を返す ビットごとの NOT ~ a オペランドの各ビットを反転する 左シフト a b 2 進表現の a を b ビット分だけ左にシフトする。右から 0 を詰める 符号を維持した右シフト a b 2 進表現の a を b ビット分だけ右にシフトする。溢れたビットは破棄する 0 埋め右シフト a b 2 進表現の a を b ビット分だけ右にシフトする。溢れたビットは破棄し、左から 0 を詰める ビットごとの論理演算子 概念的にビットごとの論理演算子は以下のように機能します。 オペランドは 32 ビット整数に変換され、ビット列(0 と 1)として表現される。 第 1 のオペランドの各ビットは第 2 のオペランドの対応するビットと対にされる。第 1 ビットと第 1 ビット、第 2 ビットと第 2 ビット、というように対にされる。 演算子は各ビットのペアに適用され、結果はビットごとに組み立てられる。 例えば、9 の 2 進表現は 1001 で、15 の 2 進表現は 1111 です。ここで、ビット演算子がこれらの値に対して適用されたときの結果は以下のようになります。 15 9 の結果は 9 (1111 1001 = 1001) 15 | 9 の結果は 15 (1111 | 1001 = 1111) 15 ^ 9 の結果は 6 (1111 ^ 1001 = 0110) ビットシフト演算子 ビットシフト演算子は 2 つのオペランドをとります。第 1 のオペランドはシフトされる数を指定し、第 2 のオペランドは、第 1 のオペランドをシフトさせるビット数を指定します。シフト演算の方向は使用する演算子によって決まります。 シフト演算子はそのオペランドを 32 ビット整数に変換し、左のオペランドと同じ型の結果を返します。 シフト演算子は次の表のとおりです 演算子 説明 例 (左シフト) 第 1 オペランドを指定したビット数分だけ左にシフトする。左に溢れたビットは破棄される。0 のビットを右から詰める 9 2 の結果は 36 となる。1001 を 2 ビット左にシフトすると 100100 となり、これは 36 であるため (符号を維持した右シフト) 第 1 オペランドを指定したビット数分だけ右にシフトする。右に溢れたビットは破棄される。左端のビットのコピーを左から詰める 9 2 の結果は 2 となる。1001 を 2 ビット右にシフトすると 10 となり、これは 2 であるため。同様に、-9 2 の結果は符号が維持されるために -3 となる (0 埋め右シフト) 第 1 オペランドを指定したビット数分だけ右にシフトする。右に溢れたビットは破棄される。0 のビットを左から詰める 19 2 の結果は 4 となる。10011 を 2 ビット右にシフトすると 100 になり、これは 4 であるため。非負数では 0 埋め右シフトと符号を維持した右シフトは同じ結果になる 論理演算子(Logical Operators) 論理演算子では基本的に真偽(論理)値を用います。そのような値があると真偽値を返します。しかし、 および || 演算子は実際には指定されたオペランドの一方の値を返します。そのため、非真偽値とともに論理演算子が使われると非真偽値を返します。論理演算子について次の表で説明します。 演算子 使用法 説明 expr1 expr2 (論理 AND)expr1 を false と見ることができる場合は expr1 を返す。そうでない場合は expr2 を返す。したがって、真偽値が使われた場合、両オペランドが true の場合は は true を返し、そうでない場合は false を返す || expr1||expr2 (論理 OR)expr1 を true と見ることができる場合は expr1 を返す。そうでない場合は expr2 を返す。したがって、真偽値が使われた場合、どちらかのオペランドが true の場合は||は true を返し、両方とも false の場合は false を返す ! !expr (論理 NOT)オペランドを true と見ることができる場合は false を返す。そうでない場合は true を返す false と見ることができる式とは、null、0、空文字列 ("")、または undefined に評価される式のことです。 以下のコードで (論理 AND)演算子の例を示します。 a1=true true // t t は true を返す a2=true false // t f は false を返す a3=false true // f t は false を返す a4=false (3 == 4) // f f は false を返す a5="Cat" "Dog" // t t は Dog を返す a6=false "Cat" // f t は false を返す a7="Cat" false // t f は false を返す 以下のコードで ||(論理 OR)演算子の例を示します。 o1=true || true // t || t は true を返す o2=false || true // f || t は true を返す o3=true || false // t || f は true を返す o4=false || (3 == 4) // f || f は false を返す o5="Cat" || "Dog" // t || t は Cat を返す o6=false || "Cat" // f || t は Cat を返す o7="Cat" || false // t || f は Cat を返す 以下のコードで !(論理 NOT)演算子の例を示します。 n1=!true // !t は false を返す n2=!false // !f は true を返す n3=!"Cat" // !t は false を返す ショートサーキット評価 論理式は左から右に評価されるため、以下のルールを用いることで「ショートサーキット」評価ができるようになっています。 false anything は false にショートサーキット評価する。 true || anything は true ショートサーキット評価する。 論理のルールはこれらの評価が常に正確であることを保証しています。上記の式の anything の部分は評価されないため、何らかの副作用が生じないように注意してください 文字列演算子(String Operators) 比較演算子は文字列に使用できますが、これに加えて 2 つの文字列を結合する結合演算子 (+) も使用できます。これは 2 つのオペランドの文字列を結合した文字列を返します。例えば、"my " + "string" は "my string" という文字列を返します。 短縮表記した代入演算子 += も文字列の結合に使用できます。例えば、変数 mystring に "alpha" という値が格納されているとき、式 mystring += "bet" の評価結果は "alphabet" となり、この値を mystring に代入します。 特殊演算子(Special Operators) JavaScript は以下の特殊演算子があります。 条件演算子 コンマ演算子 delete in instanceof new this typeof void 条件演算子 条件演算子は JavaScript では唯一の 3 つのオペランドをとる演算子です。演算子は条件に基づいて 2 つの値のうち、1 つを選択します。構文は次のとおりです。 condition ? val1 val2 condition が true の場合、演算子は val1 の値を選択します。そうでない場合は val2 の値を選択します。標準的な演算子が使用できる場所でならどこででも条件演算子を使用することができます。 例えば、 status = (age = 18) ? "adult" "minor" この文では、age が 18 以上の場合 "adult" という値を変数 status に代入します。そうでない場合は "minor" という値を status に代入します。 コンマ演算子 コンマ演算子 (,) は単に両方のオペランドを評価し、第 2 のオペランドの値を返します。この演算子は主に for ループ内で使用されます。このことでループのたびに複数の変数を更新できるようになります。 例えば、a が一辺が 10 要素の 2 次元配列のとき、以下のコードではコンマ演算子を用いることで 2 変数を同時にインクリメントしています。このコードでは配列の対角成分の値を出力します。 for (var i=0, j=9; i = 9; i++, j--) document.writeln("a["+i+"]["+j+"]= " + a[i][j]) delete delete 演算子はオブジェクトやオブジェクトのプロパティ、配列の指定されたインデックスの要素を削除します。構文は以下のとおりです。 delete objectName delete objectName.property delete objectName[index] delete property // with 文内でのみ有効 ここで、objectName はオブジェクトの名前を、property は既存のプロパティを、index は配列の要素の位置を表す整数をそれぞれ表しています。 4 番目の形式は with 文内でのみ有効で、これはあるオブジェクトからプロパティを削除します。 delete 演算子を使うことで暗黙的に宣言された変数を削除することができますが、var 文を用いて宣言された変数は削除できません。 delete 演算子が成功すると、そのプロパティや要素には undefined がセットされます。また、演算が可能な場合は delete 演算子は true を返します。演算が不可能な場合は false を返します。 x=42 var y= 43 myobj=new Number() myobj.h=4 // プロパティ h を作成 delete x // true を返す(暗黙的に宣言されているならば削除可能) delete y // false を返す(var 付きで宣言されているなら削除不可能) delete Math.PI // false を返す(定義済みプロパティは削除不可能) delete myobj.h // true を返す(ユーザ定義プロパティは削除可能) delete myobj // true を返す(暗黙的に宣言されているならば削除可能) 配列要素の削除 配列要素を削除したとき、配列の長さには影響を及ぼしません。例えば a[3] を削除したとき、a[4] は依然 a[4] のままで、a[3] は undefined になります。 delete 演算子で配列要素を除去すると、もうその要素はその配列からなくなります。次の例では tree[3] は delete によって除去されます。 trees=new Array("redwood","bay","cedar","oak","maple") delete trees[3] if (3 in trees) { // ここは実行されない } 配列要素は存在させたいが、値は未定義にしたいという場合は、delete 演算子の代わりに undefined キーワードを使用してください。次の例では trees[3] には undefined という値が代入されますが、その配列要素は存在したままになります。 trees=new Array("redwood","bay","cedar","oak","maple") trees[3]=undefined if (3 in trees) { // ここは実行される } in in 演算子は、指定されたプロパティが指定されたオブジェクトにある場合に true を返します。構文は以下のとおりです。 propNameOrNumber in objectName ここで、propNameOrNumber はプロパティ名か配列のインデックスを表す文字列式または数値式を、objectName はオブジェクトの名前をそれぞれ表しています。 次の例では in 演算子の使用法を示します。 // 配列 trees=new Array("redwood","bay","cedar","oak","maple") 0 in trees // true を返す 3 in trees // true を返す 6 in trees // false を返す "bay" in trees // false を返す(インデックスの指す値ではなく、 // インデックスの数字を指定しなければならない) "length" in trees // true を返す(length は Array のプロパティ) // 定義済みオブジェクト "PI" in Math // true を返す myString=new String("coral") "length" in myString // true を返す // ユーザ定義オブジェクト mycar = {make "Honda",model "Accord",year 1998} "make" in mycar // true を返す "model" in mycar // true を返す instanceof instanceof 演算子は、指定されたオブジェクトが指定されたオブジェクトの種類である場合に true を返します。構文は次のとおりです。 objectName instanceof objectType ここで、objectName は objectType と比較するオブジェクトの名前を、objectType は Date や Array のようなオブジェクトの種類をそれぞれ表しています。 実行時にオブジェクトの種類を確認する必要があるときは instanceof を使用してください。例えば、例外を受け取るとき、投げられた例外の種類によって別々の例外を扱うコードに分岐させることができます。 例えば、次のコードでは instanceof を使用することで theDay が Date オブジェクトであるかどうかを決定しています。theDay は Date オブジェクトなので if 文の中の文は実行されます。 theDay=new Date(1995, 12, 17) if (theDay instanceof Date) { // 実行される文 } new new 演算子は、ユーザ定義オブジェクトや、Array、Boolean、Date、Function、Image、Number、Object、Option、RegExp、String といった定義済みオブジェクトのインスタンスを作成するのに使用します。サーバでは DbPool、Lock、File、SendMail といったオブジェクトも使用できます。new の使用法は以下のとおりです。 objectName = new objectType ( param1 [,param2] ...[,paramN] ) オブジェクト初期化子を使用してもオブジェクトを作成することができます。オブジェクト初期化子の使用 にて説明しています。 詳しくはコア JavaScript リファレンスの new 演算子 のページを参照してください。 this this キーワードを使うことでカレントオブジェクトを参照することができます。一般に this はあるメソッド内でそのメソッドを呼び出したオブジェクトを参照します。使用法は以下のとおりです。 this[.propertyName] 例 1 あるオブジェクトの value プロパティの妥当性を確認する validate という関数を想定します。関数にはそのオブジェクトと、上限および下限の値を渡します。 function validate(obj, lowval, hival) { if ((obj.value lowval) || (obj.value hival)) alert("Invalid Value!") } 各フォーム要素の onChange イベントハンドラにおいて validate を呼び出します。this を使うことでフォーム要素を渡すことができます。次の例をご覧ください。 B Enter a number between 18 and 99 /B INPUT TYPE = "text" NAME = "age" SIZE = 3 onChange="validate(this, 18, 99)" 例 2 form プロパティと組み合わせると this でカレントオブジェクトの親のフォームを参照できます。次の例では、myForm というフォームに Text オブジェクトとボタンが格納されています。ユーザがボタンをクリックすると、Text オブジェクトの値にフォーム名がセットされます。ボタンの onClick イベントハンドラは this.form を利用して親のフォームである myForm を参照します。 FORM NAME="myForm" Form name INPUT TYPE="text" NAME="text1" VALUE="Beluga" P INPUT NAME="button1" TYPE="button" VALUE="Show Form Name" onClick="this.form.text1.value=this.form.name" /FORM typeof typeof 演算子は次の方法のうち、どちらかの方法で使用します。 1. typeof operand 2. typeof (operand) typeof 演算子は、未評価のオペランドの型を指す文字列を返します。operand は返される型を調べる対象となる文字列、変数、キーワード、オブジェクトです。括弧はあってもなくてもかまいません。 以下の変数を定義することを想定します。 var myFun = new Function("5+2") var shape="round" var size=1 var today=new Date() typeof 演算子はこれらの変数に対して以下の結果を返します。 typeof myFun is function typeof shape is string typeof size is number typeof today is object typeof dontExist is undefined true や null というキーワードに対して、typeof 演算子は以下の結果を返します。 typeof true is boolean typeof null is object 数値や文字列に対して、typeof 演算子は以下の結果を返します。 typeof 62 is number typeof Hello world is string プロパティ値に対して、typeof 演算子はプロパティ値の型を返します。 typeof document.lastModified is string typeof window.length is number typeof Math.LN2 is number メソッドや関数に対して、typeof 演算子は以下の結果を返します。 typeof blur is function typeof eval is function typeof parseInt is function typeof shape.split is function 定義済みオブジェクトに対して、typeof 演算子は以下の結果を返します。 typeof Date is function typeof Function is function typeof Math is function typeof Option is function typeof String is function void void 演算子は次の方法のうち、どちらかの方法で使用します。 1. void (expression) 2. void expression void 演算子は値を返さずに評価する式を指定します。expression は評価する JavaScript の式です。式の周りの括弧はあってもなくてもかまいませんが、使用したほうが見た目はいいです。 void 演算子を使用することで式をハイパーテキストリンクとして指定することができます。式は評価されますが、開いている文書の代わりに読み込まれるということはありません。 以下のコードはユーザがクリックしても何も起こらないハイパーテキストリンクを作成します。ユーザがリンクをクリックすると void(0) は undefined に評価され、JavaScript としては影響を及ぼしません。 A HREF="javascript void(0)" Click here to do nothing /A 以下のコードはユーザがクリックするとフォームが送信されるハイパーテキストリンクを作成します。 A HREF="javascript void(document.form.submit())" Click here to submit /A
https://w.atwiki.jp/m_shige1979/pages/1442.html
equireで分割 概要 実行ファイルとサーバの起動ファイル2つに分割 サンプル index.js var server = require("./server"); server.start(); server.js var http = require("http"); function start() { function onRequest(request, response) { console.log("Request received."); response.writeHead(200, {"Content-Type" "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Server has started."); } exports.start = start; 実行 コマンド D \Tools\Works\nodejs_test\sample03 node index.js Server has started. Request received. Request received. 画面
https://w.atwiki.jp/tachichi/pages/46.html
https://w.atwiki.jp/ucgois/pages/39.html
https://w.atwiki.jp/yukobayashi/pages/19.html
javascript jQuery class名の操作 div class="one twe three four" /div classの場合は、idと違ってスペース区切りで複数の値を設定できる。 2番目のクラスを指定する方法。めっさ楽。 素jsだと正規表現でうんこみたいなソースになっちゃうから1行って素敵過ぎる。 $( div ).toggleClass( two );
https://w.atwiki.jp/nicepaper/pages/82.html
文章を記述していると自動的に改行されたときに、行間を変えるCSSプロパティとしてline-heightというものがあります。line-heightの使い方には少し注意が必要です。そのことについて書いていこうと思います。6月8日記事 多くのサイトを見るとと ある条件下なら、単位を付けなく記述する例が好ましい ようなのですが、その条件下で実行してみるも表示は単位を付けてもつけなくてもかわりませんでした・・・。あれ?・・・・・・。うーん。 色々とWEBを見るとemタグと単位のemが混在している様子・・・ どんなことをしたかでも話していきたいと思います。 目次 line-heightにpx指定はいけない。好ましくない例。 emが主流だったが・・・これで本当によいのか? pxやemや%より単位を指定しないほうが望ましいらしい!? 比較してみるも・・あれ? 結果 2em 結果 200% 結果 2のみ まとめ line-heightにpx指定はいけない。好ましくない例。 行間を書いていく際に以下のように p{ color #000; font-size 16px; line-height 20px; } font-size 16px;~line-height 20px~と書くのはよろしくない。というのは、フォントサイズが変えたい時にline-heightもまた変えなければいけないからだ。ピクセルとしての絶対値は望ましくない。 よって 倍数表示が好ましい emが主流だったが・・・これで本当によいのか? さて、倍数表示としてem表示があります。20pxの1.5emだったら30px分行間があきます。10pxだったら15px分行間があきます。フォントサイズを変更したとしても、16の1.5emの24px分・・・とフォントサイズを買えたとしても自動的に変更されるのはline-heightも変えなくていいので楽です。 しかし、emという単位を指定してよいのでしょうか? p{ color #000; font-size 16px; line-height 1.5em; } pxやemや%より単位を指定しないほうが望ましいらしい!? とあるサイトに emを指定するとそのあとの子要素すべてに適応される現象が起きてしまいます。 よって以下のように指定しましょうと書かれている p{ color #000; font-size 16px; line-height 1.5;/*%やemを付けずにそのまま書く。*/ } 比較してみるも・・あれ? HTML部 !DOCTYPE HTML html lang="ja" head meta charset="utf-8" link rel="stylesheet" type="text/css" href="style.css" title 行間 /title /head body div id="wrapper" p ここにだけemを指定している br のにも関わらず・・・ /p div id="middle" p ここにはline-heightを書いてないにも br 関わらず、継承されてしまう・・・!? /p div id="inner" p ここも同じく br 継承されてしまう・・・!? /p /div /div /div /body /html CSS部・・・ コメントアウトの部分を色々と変更していきます。 @charset "utf-8"; /* CSS Document */ #wrapper{ margin 0 auto; width 1000px; border 1px solid #F00; } #wrapper p{ color #000000; font-size 30px; line-height 2em;/*ここの部分を2,2em,200%に変える*/ } #middle{ margin 0 auto; width 800px; border 1px solid #F00; } #middle p{ color #000000; font-size 20px; } #inner{ margin 0 auto; width 600px; border 1px solid #F00; } #inner p{ color #000000; font-size 10px; } 結果を表示させてみる 結果 2em 結果 200% 結果 2のみ まとめ 変わんないじゃん。 単位なし2も継承されとるやないかい。 謎です。どなたかコメントください。まあピクセルじゃなく、emや単位なしやパーセントで書けってことだな。 長いものにまかれるか・・・・。よし、みんな単位をつけちゃいかん。 CSSのline-heightで単位を指定しない理由 名前 コメント
https://w.atwiki.jp/warhammer555/pages/36.html
-------------------------------------------------------------------------- Three s a Crew ① 44000-60000 でNPCと会話。 Three s a Crew ② 57000-47000 でNPCと会話。 Three s a Crew ③ 61000-43000 でNPCと会話。 Three s a Crew ④ 61000-43000 で”Blackhide Troll”を5匹KILL。 Three s a Crew ⑤ 44000-60000 で”Flame Cannon”を調べる。 -------------------------------------------------------------------------- Securing the Stone 58000-62000 で”Furiksson s Clan Stone”を調べる。 -------------------------------------------------------------------------- Gurding What s Mine 50000-49000 でオークを10匹KILL。 -------------------------------------------------------------------------- Blasterd Chuffin Greenskins 50000-49000 付近でオークを10匹KILL。 -------------------------------------------------------------------------- Ancient Horror ① 52000-44000 で落ちている本を調べる。 Ancient Horror ② Badlandの32000-12000 でNPCと会話。 -------------------------------------------------------------------------- A Darker Threat ① 54000-49000 でNPCと会話。 A Darker Threat ② 56000-60000 のNPCと会話。 A Darker Threat ③ 58000-63000 で”Defiled Warptail”を5匹 ”Plaguesworn Defiler”を5匹KILL。 64000-56000 で”Chest of Poxes”を調べる。 -------------------------------------------------------------------------- Shaman Shakedown ① 39000-51000 で”Goblin Shaman Pile”を調べる。 Shaman Shakedown ② 35000-24000 でNPCと会話。 -------------------------------------------------------------------------- Solidifying the Alliance 37000-50000 で”Reliquary Chest”を調べる。 -------------------------------------------------------------------------- Keepsake 22000-48000 で”Muguz”をKILL。 -------------------------------------------------------------------------- Welcher 27000-46000 で箱”Packe Crate”を調べる。 -------------------------------------------------------------------------- To Bugman s 26000-17000 を偵察。 -------------------------------------------------------------------------- Faulty Tower 15000-5000 を偵察。 --------------------------------------------------------------------------
https://w.atwiki.jp/fpswoman/pages/52.html
Ashree(アシュリー) プロフィール オンラインID:Ashree 性別:♂ 特徴:チンパン、豚野郎 アカウントの由来は Ashree「なあ、PS3のアカウント何にしよう?」 弟「じゃあアシュリーで。」 Ashree「わかったわ。」 24団に入ってからパチスロに目覚め、毎度毎度お金を吸い取られてはゲームに戻ってきているとかいないとか。 リアフレであるharapeko_とmissan_missanとはとても仲良く阿呆なことを言っている。
https://w.atwiki.jp/fxext/pages/14.html
XULのローカライズ JavaScriptのローカライズXULを仲介する JavaScriptコードモジュールを使用 XPCOMを直接使う XULのローカライズ localeフォルダにsample.dtdファイルを作成し、実体宣言を行う。 !ENTITY sample.label "サンプル" !ENTITY sample.key "S" contentフォルダのsample.xulに、dtdファイルの読み込み宣言と実体参照を記述する。 !DOCTYPE window SYSTEM "chrome //sample/locale/sample.dtd" menuitem label=" sample.label;" accesskey=" sample.key;"/ Localization - XUL Tutorial | MDN 実体が無いと例外エラーを吐くので注意 JavaScriptのローカライズ まず、localeフォルダにsample.propertiesファイルを用意する。 SAMPLE = サンプル SAMPLE_REPLACE_1 = 数字%Sと数字%S SAMPLE_REPLACE_2 = 数字%2$Sと数字%1$S で、この後だが、XUL、JSM、XPCOM の3つの方法がある。 XULを仲介する XULに以下のように記述。 stringbundleset id="stringbundleset" stringbundle id="strings_sample" src="chrome //sample/locale/sample.properties"/ /stringbundleset あとはJavaScript内で以下のように使える。 var strings = document.getElementById("strings_sample"); var text1 = strings.getString("SAMPLE"); // → サンプル var num1 = 5; var num2 = 10; var text2 = strings.getFormattedString("SAMPLE_REPLACE_1", [num1, num2]); // → 数字5と数字10 var text3 = strings.getFormattedString("SAMPLE_REPLACE_2", [num1, num2]); // → 数字10と数字5 ローカライズ文字列を取得できないと例外エラーを吐くので注意 Property Files - XUL Tutorial | MDN stringbundle - XUL | MDN JavaScriptコードモジュールを使用 sample.propertiesを用意した後は以下のように使う。 Components.utils.import("resource //gre/modules/services-common/stringbundle.js"); var strings = new StringBundle("chrome //sample/locale/sample.properties"); var text1 = strings.get("SAMPLE"); // → サンプル var num1 = 5; var num2 = 10; var text2 = strings.get("SAMPLE_REPLACE_1", [num1, num2]); // → 数字5と数字10 var text3 = strings.get("SAMPLE_REPLACE_2", [num1, num2]); // → 数字10と数字5 XULを仲介するより楽な気がする… getStringやgetFormattedStringも使える。 Labs/JS Modules - MozillaWiki XPCOMを直接使う Components.utils.import("resource //gre/modules/Services.jsm"); var strings = Services.strings.createBundle("chrome //sample/locale/sample.properties"); var text1 = strings.GetStringFromName("SAMPLE"); // → サンプル nsIStringBundleService - XPCOM Interface Reference | MDN nsIStringBundle - XPCOM Interface Reference | MDN